package com.authority.service;

import java.util.List;

import com.authority.entry.AuthSysDO;
import com.authority.entry.AuthSysDomainDO;
import com.authority.vo.AuthSysVO;

/**
 * Description:系统管理接口
 * 
 * @author limeng.g Date 2015-10-12
 * 
 */
public interface AuthSysService {

	/**
	 * 添加系统信息
	 * 
	 * @param db
	 * @return
	 */
	public Boolean insertAuthSys(AuthSysDO db, List<AuthSysDomainDO> list) throws Exception;

	/**
	 * 查询全部系统信息
	 * 
	 * @param query
	 * @return
	 */
	public List<AuthSysVO> queryAuthSys() throws Exception;

	/**
	 * 获取系统基本信息
	 * 
	 * @param id
	 * @return
	 */
	public AuthSysVO queryAuthSysById(Long id) throws Exception;

	/**
	 * 根据系统id获取域名列表
	 * 
	 * @param sysId
	 * @return
	 */
	public List<AuthSysDomainDO> queryAuthSysDomainBySysId(Long sysId);

	/**
	 * 更新系统信息
	 * 
	 * @param db
	 * @param list
	 * @return
	 */
	public Boolean updateSysInfo(AuthSysVO vo, List<AuthSysDomainDO> list) throws Exception;

	/**
	 * 根据用户id获取可操作的系统列表
	 * 
	 * @param userId
	 * @return
	 */
	public List<AuthSysDO> queryAuthSysByUserId(Long userId);
	
	/**
	 * 根据code查询
	 * @param code
	 * @return
	 */
	public AuthSysDO queryAuthSysByCode(String code);
}
